//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#ifndef _ReadCathInfo_h__
#define	_ReadCathInfo_h__
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#include "ListCathCDDF.h"
#include "ListCathCLF.h"
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
class ReadCathInfo {
  
  private:
    
    String*       namefileCDDF;
    String*       namefileCLF;
    
    String*       namefileFASTA;
    String*       namefileFASTAProfile;
    String*       namefileDescription;
    
    ListCathCDDF* domainDescriptions;
    ListCathCLF*  domainListCode;
    
  protected: 
    
  public:
    
    ReadCathInfo ();
    ReadCathInfo (const ReadCathInfo&);
    ReadCathInfo (const ReadCathInfo*);
    
    ~ReadCathInfo ();
    
    void          NamefileCDDF (String*);
    void          NamefileCLF (String*);
    void          NamefileFASTA (String*);
    void          NamefileFASTAProfile (String*);
    void          NamefileDescription (String*);
    
    void          DomainDescriptions (ListCathCDDF*);
    void          DomainListCode (ListCathCLF*);

    String*       NamefileCDDF (void);
    String*       NamefileCLF (void);
    String*       NamefileFASTA (void);
    String*       NamefileFASTAProfile (void);
    String*       NamefileDescription (void);
    
    ListCathCDDF* DomainDescriptions (void);
    ListCathCLF*  DomainListCode (void);
    
    bool          ReadDomainDescription (void);
    bool          ReadDomainListCode (void);
    bool          MatchDomainInfo (void);
    
    bool          OrderListDomain (void);
    
    bool          OutFASTAFile (void);
    bool          OutFASTAProfile (void);
    bool          OutDescriptionDomain (void);
    
    
    ReadCathInfo  operator= (const ReadCathInfo&);
};
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#endif
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
